The present invention relates to video coding and, more particularly, to the use of video objects in combination with keyregions to improve coding efficiency and image quality.
The advent of video objects and video object planes (VOPs) in video coding permits significant coding savings by selectively apportioning bits among portions of the frame that require a relatively large amount of bits and other portions that require a relatively small number of bits. VOPs also permit additional functionality such as object manipulation.
As an example, FIG. 1(a) illustrates a frame for coding that includes a head and shoulders of a narrator, a logo suspended within the frame and a background. The logo may be static, having no motion and no animation. In such a case, bit savings may be realized by coding the logo only once. For display, the coded logo could be decoded and displayed continuously from the single coded representation. Similarly, it may be desirable to code the background at a low refresh rate to save bits and yet create an illusion of movement in the reconstructed image. Bit savings realized by coding the logo and background at lower rates may permit coding of the narrator at a higher rate, where the perceptual significance of the image may reside. VOPs are suited to such applications. FIGS. 1(b)-1(d) illustrate the frame of FIG. 1(a) broken into three VOPs. By convention, a background generally is assigned VOP∅. The narrator and logo may be assigned VOP1 and VOP2 respectively. Within each VOP, all image data is coded and decoded identically.
Not all data within a VOP merits identical treatment. For example, certain regions of a VOP may require animation, whereas others are relatively static. Consider the example of the narrator. The perceptually significant areas of VOP1 center around the facial features of the figure. The narrator's dress and hair may not require animation to the same extent that the facial features do. Accordingly, there is a need in the art for a coding system that emphasizes certain areas of a VOP over others.
Further, regions of a VOP may possess similar characteristics. For example, some image data within the VOP may exhibit the same motion vector or may be quantized according to the same quantization parameters. Certain regions of a VOP may require a greater resilience against channel errors. Coding efficiencies may be obtained by coding the similar attributes only once for the region. Such efficiencies are lost unless coding systems provide a means for coding common attributes of the region differently from other regions in a VOP that do not share the common attributes.
Finally, it may be preferable to embed functionalities in certain regions of a VOP. For example, images may be superimposed upon regions of a VOP. Consider an example where it is desirable to impose a logo image onto the dress of the narrator in VOP1 and permit a viewer to selectively enable or disable display of the logo. Accordingly, there is a need in the art to associate functionalities with certain regions of a VOP.